using System.Collections.Generic;
using System.Text.Json.Serialization;

namespace Eamon.MeituanDotnetSDK.model.ddzh.tuangou.tuangouReceiptBatchconsume
{
    /// <summary>
    /// 验券详情
    /// </summary>
    public class ReceiptConsumeResult
    {
        /// <summary>
        /// 订单号
        /// </summary>
        [JsonPropertyName("orderId")]
        public string OrderId { get; set; }

        /// <summary>
        /// 券码
        /// </summary>
        [JsonPropertyName("receiptCode")]
        public string ReceiptCode { get; set; }

        /// <summary>
        /// 套餐ID
        /// </summary>
        [JsonPropertyName("dealId")]
        public long? DealId { get; set; }

        /// <summary>
        /// 团购ID
        /// </summary>
        [JsonPropertyName("dealgroupId")]
        public long? DealgroupId { get; set; }

        /// <summary>
        /// 商品名称
        /// </summary>
        [JsonPropertyName("dealTitle")]
        public string DealTitle { get; set; }

        /// <summary>
        /// 商品类型
        /// </summary>
        [JsonPropertyName("productType")]
        public long? ProductType { get; set; }

        /// <summary>
        /// 商品消费码
        /// </summary>
        [JsonPropertyName("productItemId")]
        public long? ProductItemId { get; set; }

        /// <summary>
        /// 商品售卖价格
        /// </summary>
        [JsonPropertyName("dealPrice")]
        public double? DealPrice { get; set; }

        /// <summary>
        /// 商品市场价
        /// </summary>
        [JsonPropertyName("dealMarketPrice")]
        public double? DealMarketPrice { get; set; }

        /// <summary>
        /// 用户手机号
        /// </summary>
        [JsonPropertyName("mobile")]
        public string Mobile { get; set; }

        /// <summary>
        /// 业务类型
        /// </summary>
        [JsonPropertyName("bizType")]
        public int? BizType { get; set; }

        /// <summary>
        /// 支付明细
        /// </summary>
        [JsonPropertyName("paymentDetail")]
        public List<RpaymentDetail> PaymentDetail { get; set; }

        /// <summary>
        /// 券过期时间
        /// </summary>
        [JsonPropertyName("receiptEndDate")]
        public long? ReceiptEndDate { get; set; }

        public override string ToString()
        {
            return $"ReceiptConsumeResult{{OrderId={OrderId}, ReceiptCode={ReceiptCode}, DealId={DealId}, DealgroupId={DealgroupId}, DealTitle={DealTitle}, ProductType={ProductType}, ProductItemId={ProductItemId}, DealPrice={DealPrice}, DealMarketPrice={DealMarketPrice}, Mobile={Mobile}, BizType={BizType}, PaymentDetail={PaymentDetail}, ReceiptEndDate={ReceiptEndDate}}}";
        }
    }
}
